iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0
自我挑戰組

從電子元件到傅立葉轉換 - 那些我有興趣的主題系列 第 10

[Day10] 那些比較冷門的 Networking 理論 (2)

  • 分享至 

  • xImage
  •  

那些比較冷門的 Networking 理論 (2)

上一篇我們提到了 Menchaster 編碼雖然可以有效解決資料流都是 0 或 1 的情況,然而要同樣的資料卻需要兩倍的頻寬,這對高速傳輸來說是我們不希望的。

今天要介紹 4B/5B 編碼可以有效解決資料流都是 0 / 1 的情形,又不需要犧牲太多頻寬。

4B/5B

4B/5B 是將原始資料以 4 bit 為一組,改為 5 bit 一組。這樣一來像是 00001111 這些資料流,透過編碼後讓他們不要都是 0 或 1,避免無法回復 clock 的情況發生。

4bit 5bit
0000 11110
0001 01001
0010 10100
0011 10101
0100 01010
0101 01011
0110 01110
0111 01111
1000 10010
1001 10011
1010 10110
1011 10111
1100 11010
1101 11011
1110 11100
1111 11101

如果我們觀察 00001111,可以發現轉為 5 bit 之後都會保證有一個 transition(從高電位到低電為或反過來)。雖然多了一個 bit,同樣的傳輸量需要多 20% 的頻寬,但跟 Menchaster 比起來還是差很多。1000BASE-X 是使用 8B/10B 編碼,概念上與 4B/5B 相同,只是改為一次編碼 8 bit。8B/10B 除了用在 1000BASE-X 以外,也用在各種高速傳輸的協定當中,例如 PCI1.0/2.0、USB3。

8B1Q4

對活在 2023 年的我們來說,有線網路的速度動輒 1Gbps,如果要求更大的頻寬則是 10Gbps。

常見的乙太網路電纜線,內部是由一對一對的絕緣線互相纏繞。這種纏繞方式可以有效減少雜訊。儘管如此,在頻率很高的情況下還是容易受到雜訊干擾。

在 100BASE-TX 以上的傳輸中,會用 8B1Q4 來編碼(8 binary to 1 quinary 4)。主要的原理是在同一個週期內送出多個 bit 進而加大資料量。例如 CAT-6 雖然傳輸頻率為 125Mhz,傳輸速率卻是 1Gbps。

8B1Q4 簡單來說是將 8bit + 1bit (檢查碼) 分成四組,可以看到上圖總共有四組線,分組以後再分別以不同的電位表示。

不過實際上是怎麼將 9bit 資料切成四組的呢?首先會看檢查碼 + 資料前兩碼總共 3bit 去找對應的變換表,剩下的 6bit 則是從前面找到的變換表中編碼。比較特別的地方在於,每條纜線的電位有 5 個,而不是只有高電位與低電位。透過這種方式,一個週期內可以傳送 2bit,同一頻寬內傳輸量就是兩倍。

這也是為什麼 CAT-6 雖然傳輸頻率為 125Mhz,傳輸速率卻是 1Gbps 的原因。


上一篇
[Day9] 那些比較冷門的 Networking 理論 (1)
下一篇
[Day11] Advent of Code Day10 與 Racing the beam
系列文
從電子元件到傅立葉轉換 - 那些我有興趣的主題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言